// pages/home/home.js
// 1.首先 导入第三方包，将数据绑定到页面
import { createStoreBindings } from 'mobx-miniprogram-bindings'
// 2.其次 在页面的js文件的头部区域导入容器的数据
import { store } from '../../store/store'
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },
  async getInfo() {
    const { data: res } = await wx.p.request({
      method: 'GET',
      url: 'https://www.escook.cn/api/get',
      data: {
        name: 'zs',
        age: 20
      }
    })
    console.log(res)
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 3. 绑定操作：将仓库的东西绑定到当前的页面中，在页面的js文件的Page方法中
    // 调用createStoreBindings方法,map映射
    // 参数1： 绑定给谁：当前页面this
    // 参数2： 对象{ store(容器)， fields(数据)， actions(修改方法)
    this.storeBindings = createStoreBindings(this, {
      // 映射容器的实例
      store,
      // 映射容器的数据字段,通过this.data.numA进行访问
      fields: ['numA', 'numB', 'sum'],
      // 映射容器修改的方法,通过this.updateNum1()
      actions: ['updateNum1']
    })
  },
  // 页面的js文件中的 tap事件处理函数
  btnHnadler1(e) {
    console.log(e)
    // 使用仓库中的方法，并传递数据
    this.updateNum1(100)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    // 4.使用this.storeBindings，得到调用createStoreBindings方法的返回值
    //调用destroyStoreBindings 方法，进行清理销毁的工作
    this.storeBindings.destroyStoreBindings()
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})